#!/bin/ksh
# IBM_PROLOG_BEGIN_TAG 
# This is an automatically generated prolog. 
#  
#  
#  
# Licensed Materials - Property of IBM 
#  
# (C) COPYRIGHT International Business Machines Corp. 2000,2002 
# All Rights Reserved 
#  
# US Government Users Restricted Rights - Use, duplication or 
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
#  
# IBM_PROLOG_END_TAG 

# "@(#)11   1.9   src/rsct/rm/ER/notifyevent, ERrm, rsct_rpyxh, rpyxht1f3 9/2/02 22:18:48";

#####################################################################
#
# Name:    logevent
#
# Purpose: Mails event information generated by the Event Response 
#          resource manager to a specified log file.
#
# Inputs:  Optional ID of the uesr to whom the evnt information 
#          will be mailed.
#          If userid is not specified, root is used as the default.  
#
#####################################################################

generate_message () {

        cat  <<EOF
=====================================

${EventTime}

${ConditionName}: $ERRM_COND_NAME
${Severity}: $COND_SEVERITY
${EventType}: $TYPE
${Expression}: $ERRM_EXPR

${ResourceName}: $ERRM_RSRC_NAME
${ResourceClass}: $ERRM_RSRC_CLASS_PNAME
${DataType}: $ERRM_DATA_TYPE
${DataValue}: $ERRM_VALUE
${NodeName}: $ERRM_NODE_NAME
${NodeNameList}: $ERRM_NODE_NAMELIST
${RsrcType}: $ERRM_RSRC_TYPE
EOF
        
print "====================================="

}

# main ()

PERL=/usr/sbin/rsct/perl5/bin/perl

CTMSG=/usr/sbin/rsct/bin/ctdspmsg
MSGMAPPATH=/usr/sbin/rsct/msgmaps
export MSGMAPPATH


ConditionName=`$CTMSG script IBM.ERrm.cat MSG_SH_COND_NAME`
Severity=`$CTMSG script IBM.ERrm.cat MSG_SH_SEVERITY`
EventType=`$CTMSG script IBM.ERrm.cat MSG_SH_DATA_TYPE`
Expression=`$CTMSG script IBM.ERrm.cat MSG_SH_EXPRESSION`

ResourceName=`$CTMSG script IBM.ERrm.cat MSG_SH_RES_NAME`
ResourceClass=`$CTMSG script IBM.ERrm.cat MSG_SH_RES_CLASS`
DataType=`$CTMSG script IBM.ERrm.cat MSG_SH_DATA_TYPE`
DataValue=`$CTMSG script IBM.ERrm.cat MSG_SH_DATA_VALUE`
NodeName=`$CTMSG script IBM.ERrm.cat MSG_SH_NODE_NAME`
NodeNameList=`$CTMSG script IBM.ERrm.cat MSG_SH_NODE_NAMELIST`
RsrcType=`$CTMSG script IBM.ERrm.cat MSG_SH_RSRC_TYPE`
Usage=`$CTMSG script IBM.ERrm.cat MSG_SH_USAGE`

# Convert Seveirty
case $ERRM_COND_SEVERITYID in

    0 ) COND_SEVERITY=`$CTMSG script IBM.ERrm.cat MSG_SH_INFO`;;
    1 ) COND_SEVERITY=`$CTMSG script IBM.ERrm.cat MSG_SH_WARNING`;;
    2 ) COND_SEVERITY=`$CTMSG script IBM.ERrm.cat MSG_SH_CRITICAL`;;

esac

# Convert EventType
case $ERRM_TYPEID in

    0 ) TYPE=`$CTMSG script IBM.ERrm.cat MSG_SH_EVENT`;;
    1 ) TYPE=`$CTMSG script IBM.ERrm.cat MSG_SH_REARMEVENT`;;

esac


while getopts ":h" opt
do
  case $opt in

    h ) print "${Usage}: `basename $0` [-h] [userid] "
        exit 0;;

    ? ) print "${Usage}: `basename $0` [-h] [userid] "
        exit 3;;
  esac
done

# Mail to root if a userid is not specified
if [[ $# -lt 1 ]]; then
   mailTo=root
else
   mailTo=$1
fi

# convert time string
seconds=${ERRM_TIME%,*}

EventTime=$(seconds=$seconds $PERL -e \
'
use POSIX qw(strftime);
print strftime("%A %D %T", localtime($ENV{seconds}) );  

'
)

generate_message | mail -s "$ERRM_COND_NAME" $mailTo  
